home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / RAND / ALL96.LZH / t0111 / text0031.txt < prev   
Encoding:
Text File  |  1996-03-07  |  3.9 KB  |  108 lines

  1. Why, oh why, can't everybody be on the Internet?!?
  2.  
  3. A couple of days ago I found a file called DOOM_F30.ARJ somewhere (I can't
  4. remember where, unfortunately). I took for granted that it was just a 
  5. repacked BAD MOOD or DVIEW, but fetched it anyway to make sure and to check
  6. that nothing in the distribution had been tampered with.
  7.  
  8. Since it wasn't very important I didn't get around to unpacking the archive
  9. until a couple of hours ago. And guess what?
  10.  
  11.   It wasn't BAD MOOD, but a totally new DOOM clone for the Falcon!!!
  12.  
  13.  
  14. This one was written by two Frenchmen and was in a similar state as BAD MOOD.
  15. That is, you could only walk around and could cross walls.
  16. The program only runs on RGB monitors, using 320x100 TC mode. Pixels are
  17. doubled horizontally, so it was actually 160x100 'full' screen.
  18.  
  19. It was all texture mapped!
  20. If I didn't misunderstand the built in VBL counter, the frame rate
  21. was around 0.8-5 fps.
  22.  
  23. The programmer said he was working on a DSP version and that he'd seen
  24. up to six times speed up sometimes. I don't think he ment actual drawing
  25. speed increase, though.
  26.  
  27.  
  28. In my opinion we _really_ should get in touch with this guy, _yesterday_!
  29. The program was released just before Christmas and IIRC the programmer
  30. was asking for others to join him.
  31.  
  32. So, is there anyone on the list who lives in France and could give the
  33. guy a call?
  34.  
  35. If noone complains loudly before noon tomorrow I'll send out a repacked
  36. (LZH) archive on the list. I believe the size will be 60-70kbyte.
  37.  
  38. By the way, I think you'll need the DOOM ShareWare WAD for this program.
  39.  
  40.  
  41.  
  42. A couple of technical details:
  43. - According to the documentation the WAD is loaded using virtual memory,
  44.   giving more disk accesses with less memory available.
  45.   Looking through the code, I must admit that it actually looks like
  46.   there is a true virtual memory scheme using the MMU.
  47.  
  48. - The algorithms used appear similar to the DVIEW ones at the levels
  49.   were it was possible to understand anything without thorough analysis.
  50.   I think I could see both the BSP traversal and the distance tables.
  51.   The code is just 15kbyte out of a 150kbyte executable, though.
  52.   The rest is all tables!
  53.   I wonder what the programmer could be doing with all those...
  54.  
  55. - There appears to be no static texture mapping routine. Instead
  56.   self-modifying code seems to be used.
  57.   Some of the tables are probably involved in this.
  58.  
  59. - The code is _extremly_ strange IMO.
  60.   There are long stretches of code that look very unoptimized and there
  61.   are recursive subroutines.
  62.  
  63.   For example the following code is used to load a word value and swap
  64.   the byte order (Intel->Motorola format) in a lot of places:
  65.  
  66.      lea $xxxxx,a6
  67.      move.b (a2)+,-(a6)
  68.      move.b (a2)+,-(a6)
  69.      move.w (a6),d1
  70.  
  71.   You can do exactly the same thing (the position at (a6) is not used) with:
  72.  
  73.      move.w (a2),d1
  74.      rol.w #8,d1
  75.  
  76.   which should be a lot faster and save a register.
  77.  
  78.   There are also interesting instructions like:
  79.  
  80.      lea ([$xxxxx]),$xxxxx),a2     (12 bytes long)
  81.   and
  82.      move.l $xxxx,$xxxx            (10 bytes long)
  83.  
  84.   The second of the above appear in clusters of around ten, with addresses
  85.   mostly increasing by 4. That could be done a lot better as well.
  86.  
  87.   The things above and other makes it obvious that this is not (I hope)
  88.   the work of a demo coder.
  89.  
  90.   I don't know what the performance hit can be from all the strangeness,
  91.   since there is a lot of heavy maths going on. It might be trivial.
  92.  
  93.  
  94. I saw an intruction that I've never heard of, by the way.
  95. Does anyone happen to know what the following does?
  96.  
  97.    PTESTR  #0,(a0),#7,a1  
  98.  
  99. My guess would be something regarding the cache (or perhaps MMU), but what?
  100. (Perhaps it's time to invest in an '030 book. ;-)
  101.  
  102. -- 
  103.   Chalmers University   | Why are these |  e-mail:   rand@cd.chalmers.se
  104.      of Technology      |  .signatures  |            johan@rand.thn.htu.se
  105.                         | so hard to do |  WWW/ftp:  rand.thn.htu.se
  106.    Gothenburg, Sweden   |     well?     |            (MGIFv5, QLem, BAD MOOD)
  107.  
  108.